ESP32 で L チカ
ここでは,LED を点滅させるサンプルプログラムを動作させる. 以下,手順である.
(1) 配線する
以下の図のようにブレッドボード上に配線する.このとき,適切な抵抗値を計算し,抵抗を選ぶ.
https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/No_image_available.svg/300px-No_image_available.svg.png
(2) サンプルプログラムをコピー
LEDを点滅させるサンプルプログラムは,
∼/esp/esp-idf/examples/get-started/blink
以下にある.以下のコマンドを実行し,このディレクトリをコピーする.
code:setup.sh
cd ~/esp
cp -r $IDF_PATH/examples/get-started/blink ./
ソースコードは以下の通り.blink/main/blink.c に記述されている.
code:blink.c LEDを点滅させるサンプルプログラム
/* Blink Example
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
/* Can run 'make menuconfig' to choose the GPIO to blink,
or you can edit the following line and set a number here.
*/
#define BLINK_GPIO CONFIG_BLINK_GPIO void blink_task(void *pvParameter)
{
/* Configure the IOMUX register for pad BLINK_GPIO (some pads are
muxed to GPIO on reset already, but some default to other
functions and need to be switched to GPIO. Consult the
Technical Reference for a list of pads and their default
functions.)
*/
gpio_pad_select_gpio(BLINK_GPIO);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
while(1) {
/* Blink off (output low) */
gpio_set_level(BLINK_GPIO, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/* Blink on (output high) */
gpio_set_level(BLINK_GPIO, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void app_main()
{
xTaskCreate(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL);
}
(3) ESP32 と計算機を接続する
USB ケーブルで ESP32 と計算機を接続する.
ESP32 ボードと USB接続した後,以下のコマンドを実行し,ESP32 の接続するシリアルポートのデバイス名を確認する.
code:setup.sh
ls /dev/cu.* /dev/ttyUSB*
おそらく,Mac の場合は,/dev/cu.SLAB_USBtoUART Linux の場合は,/dev/ttyUSB0 として見付かる.
このデバイス名は,次の手順で利用するのでメモしておく.
(4) サンプルプログラムの設定
以下のコマンドを実行し,設定メニューを開く.
code:setup.sh
cd ~/esp/blink
make menuconfig
以下の 2つの設定を行う.
(A) シリアルポート
Serial flasher config > Default serial port
を選択し,メモしておいたデバイス名を入力する.
(B) GPIO
Example Configuration > Blink GPIO number を選択し,
LED の繋がる GPIO 端子の番号を入力する.ここでは,4である. (5) ビルドして実行
以下のコマンドを実行し,ビルドして,実機の flash メモリにプログラムを転送 (転送後,即実行される).
make monitor でデバッグメッセージがホスト計算機のコンソールに流れるのが分かるだろう.
なお,monitor から抜けるのは,ctrl+]
code:setup.sh
make
make flash
make monitor